---
title: "Route Steps"
space: "Fleet ms"
url: "https://support.aakvatech.com/Fleet MS/route-steps"
updated: "2026-07-22"
---

 
## 1. Overview
The **Route Steps** child table is a component of trip and logistics tracking within the VSD Fleet Management System. Each entry represents a specific route point in a trip, capturing critical data such as location, distance, fuel consumption, dates, and border-related documentation.

---

## 2. Key Features
- Track detailed route points and distances.
- Log fuel consumption at each step.
- Record arrival, departure, loading, and offloading dates.
- Manage cross-border documentation timestamps.
- Provide comments or additional notes for each route step.

---

## 3. Pre-Requisites
Before using the Route Steps child table:
- Ensure that **Trip Locations** are pre-configured.
- The parent Doctype (e.g., Trip, Round Trip) must be available.
- User must have appropriate permissions to edit the parent document.

---

## 4. Step-by-Step Usage
1. **Open the Parent Document** (e.g., Trip).
2. **Navigate to the Route Steps table.**
3. Click **"Add Row"** to create a new route step.
4. Fill in:
   - `Location` (select from Trip Locations)
   - `Distance` in km
   - `Location Type` (e.g., Border, Port)
   - `Fuel Consumption Qty`
5. Under the **Dates** section:
   - Set `Arrival Date`, `Departure Date`, `Loading Date`, `Offloading Date`.
6. In the **Border Details** section:
   - Log `Documents from Driver`, `Submitted to Agent`, `Received by`, and `Crossing Time`.
7. Add an **Additional Comment** if needed.
8. Click **Save** on the parent form.

---

## 5. Script Customizations
Currently, the `RouteSteps` class does not have any server-side custom logic. However, you can extend it for:
- Validations like ensuring arrival is before departure.
- Auto-calculating total trip fuel from all route steps.
- Triggering notifications or logging delays if crossing time is late.

Example for validating date order:
```python
def validate(self):
    if self.arrival_date and self.departure_date and self.arrival_date > self.departure_date:
        frappe.throw("Arrival Date cannot be after Departure Date.")
## 6. Troubleshooting (Common Errors and Resolutions)

| Issue                    | Cause                         | Resolution                                      |
|--------------------------|-------------------------------|------------------------------------------------|
| Cannot select Location    | Trip Locations not created     | Add entries in the **Trip Locations** Doctype  |
| Invalid Date Sequence     | Arrival after Departure        | Ensure Arrival Date ≤ Departure Date            |
| Missing Data in Route Step| Required fields left blank     | Fill in all mandatory fields before saving     |
| No Fuel Data Recorded     | Fuel Qty not entered           | Input valid numeric value for Fuel Consumption Qty |

---

## 7. User Roles and Permissions

| Role          | Permission Description                     |
|---------------|--------------------------------------------|
| Fleet Manager | Full access (Read, Write, Create, Delete) |
| Trip Officer  | Add and update route step records          |
| Driver        | Typically no access (unless customized)    |

Permissions are inherited from the parent Doctype.

---

## 8. Key Notes
- Use standard terms for **Location Type** to support uniform reports (e.g., "Port", "Border", "Checkpoint").
- Ensure **Fuel Consumption Qty** is accurately recorded for performance and cost analysis.
- Prompt entry of border documentation details helps avoid compliance issues.

---

## 9. What Business Process Pain Point Does It Help Remove
The **Route Steps** table provides granular visibility into every checkpoint of a journey. It removes ambiguity about fuel usage, border clearance, and logistical delays. This improves planning, regulatory compliance, driver accountability, and customer communication.
